// 1. 双向绑定的原理不同
// Object.defineProperty();
// Proxy

// 生命周期不同
// beforeCreate setup
// created    setup
// beforeMount onMount
// mounted    onMounted
// beforeupdate onBeforeupdate
// updated    onUpdated
// beforeDetory onUnmount
// destoryed    onUnmounted
// activated  onActivated
// deactivated  onDeacticated

// 生命数据和方法的方式不同,vue3里面没有this
// vue2 选项式 data,computed,props  vue3 setup(props,context) context: emit,attr,slot 组合式
// vue2 可以直接使用slot定义插槽   vue3必须使用v-slot

// vue3支持多个根节点,vue2必须只有一个根节点
// Fragement

// vue2双向绑定的原理
let person = {
    name: 'zs',
    age: 10,
};
let p = {};
Object.defineProperty(p, 'name', {
    get() {
        console.log('获取数据了');
        return person.name;
    },
    set(val) {
        console.log('数据更新了');
        person.name = val;
    },
});
